Примеры программ

 

Условный оператор if и оператор otherwise. Рассмотрим пример программного блока, вычисляющего факториал с использованием рекурсии

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


В данном примере 1 возвращается, только если n=0 или n=1. Обратите внимание на задание нескольких условий - со знаком плюс, каждое условие в скобках. В остальных случаях, учитывая формулу n!=n*(n-1)!, вызывается fakt(n-1) и умножается на n.

 

При помощи функции error можно вывести сообщение об ошибке при неправильном вводе аргумента

 

Для демонстрации работы цикла for рассмотрим ту же задачу, но вычисление факториала осуществим при помощи цикла

 

 

 

 

 

 

 

 

 

 

 

 


Если n=0 или n=1, возвращается 1, в противном случае при помощи цикла for вычисляется произведение n!=1*2*3...*n. Вычисленное последним значение p возвращается автоматически.

 

 

В следующем примере при помощи Алгоритма

Евклида определяется наибольший общий делитель.

Для реализации алгоритма используется цикл с

ключевым словом while

 

 

 

Прерывание цикла при помощи операторов break и continue. Оператор return .

Первый пример - реализация метода касательных Ньютона для определения нулей функции.

На основе начального значения x вычисляется новое улучшенное значение x, расположенное

ближе к искомому нулю функции. При этом итерации повторяются до тех пор, пока значение

функции не станет меньше заданной точности (в примере 10-6)

 

При помощи оператора return организовано завершение программы в нужный момент. В данном примере если число итераций больше или равно 10, то происходит прерывание программы и выдается сообщение о том, что слишком много итераций. Здесь также отслеживаются случаи, когда производная в знаменателе близка к нулю и выдается об этом сообщение.

 

Кроме ключевого слова break имеется ключевое слово continue с похожей функцией. В то время как break прерывает цикл и осуществляет переход к следующему за циклом оператору, continue прерывает выполнение только текущей итерации

 

 

 

В примере слева ключевое слово continue используется для выявления всех нулей функции на заданном интервале. При этом в примере производится разбиение интервала на n равных подинтервалов и ищутся те из них, на которых функция меняет знак. При обнаружении такого подинтервала вызывается функция, реализующая метод касательных Ньютона, с начальным значением, находящимся в середине подинтервала.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обратите внимание, по завершении работы программы выдается вектор значений

 

Ниже приводится программа, вычисляющая коэффициенты Фурье функции, причем в результате выдается матица значений: нулевая по счету строка содержит коэффициенты Аn, а первая - коэффициенты Bn. Для выделения этих коэффициентов выдаваемая матрица транспонируется и из нее выбирается нулевой столбец для коэффициентов Аn, и первый - для Bn.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[В начало]